home *** CD-ROM | disk | FTP | other *** search
/ BCI NET 2 / BCI NET 2.iso / archives / telecomm / fido / plthed11.lha / PlutHeadit.doc next >
Encoding:
Text File  |  1994-01-31  |  13.8 KB  |  358 lines

  1.  
  2.             ------------------------------------------------
  3.  
  4.  
  5.  
  6.                    PlutHeadit - Message Header Editor
  7.  
  8.  
  9.                        (c) Copyright 31-Jan-1993
  10.  
  11.  
  12.                               Version 1.1
  13.  
  14.  
  15.                   By Peter Deane  3:622/401.0@FidoNet
  16.  
  17.  
  18.                       Written in GFA-Basic V 3.51
  19.  
  20.  
  21.             ------------------------------------------------
  22.  
  23.  
  24.  
  25.                               ===========
  26.                               Description
  27.                               ===========
  28.  
  29.  
  30. PlutHeadit is a specialised program which will edit 2d and 4d FTS-1
  31. *.MSG file HEADERS (the first 190 bytes) in a very convenient
  32. point-and-click manner.  Now, if you forget to file attach a file, or
  33. address a message to the wrong person, or forget to mark a message as
  34. crash, or any of a host of other misadventures, you'll be able to fix
  35. this up quickly and simply, with PlutHeadit (the Header-Editor).
  36.  
  37. While PlutHeadit replaces NewZap (or similar binary file editor) for the
  38. message headers, you will still need a good text editor for actually
  39. changing the body of the text.
  40.  
  41.  
  42.                                ==========
  43.                                Invocation
  44.                                ==========
  45.  
  46.  
  47. You MUST HAVE a copy of traplist.library (any version) around before
  48. this program will run.  I won't include this in the distribution.  Look
  49. in the TrapDoor archive for a copy of Traplist.library.
  50.  
  51. PlutHeadit can be invoked from the command line (or called by an
  52. external menu, eg off Chameleon or Directory Opus to name but two).  It
  53. understands 2 command line arguments.
  54.  
  55. Some message tossing programs (most?) do NOT store messages in 4d mode.
  56. PlutHeadit caters for this by also running in 2d mode.  To run
  57. PlutHeadit in 2d mode, simply include use the "2D" (not case-sensitive)
  58. switch in the command line.  (EG "Run PlutHeadit 2D").  As you might
  59. expect "PlutHeadit 4d" will cause it to operate in 4d mode.
  60.  
  61. Note that PlutHeadit runs in 4d mode by default.
  62.  
  63. You may also now tell PlutHeadit what filename to use.  It must be
  64. longer than 2 characters long (to distinguish it from the 2d/4d switch),
  65. and will, be opened up in PlutHeadit if the filename specified is
  66. available.  (If the message does not load, choose the "LOAD" gadget to
  67. load another one).
  68.  
  69. The order of the 2d/4d switch and filename should not matter in the
  70. command line.  Feel free to specify them either way around.
  71.  
  72. If no filename is given on the command line, a file requester will be
  73. brought up for you to enter a filename, or to change directories, etc.
  74. Don't forget you can always choose LOAD, SAVE, QUIT or RELOAD at any
  75. time.
  76.  
  77. It becomes immediately apparent when you have a message header loaded,
  78. and then you can go to work and change just about ANYTHING in the header
  79. in a point-and-click user-friendly way.
  80.  
  81.  
  82. Some command line examples:
  83.  
  84.  
  85. PlutHeadit 2d Mail:Echo/AMIGA/3456.MSG
  86.  
  87.         [edit 3456.MSG in the AMIGA directory in 2 d mode]
  88.  
  89. PlutHeadit Mail:Echo/AMIGA/3456.MSG 4d
  90.  
  91.         [edit 3456.MSG in the AMIGA directory in 4 d mode]
  92.  
  93. PlutHeadit 2d
  94.  
  95.         [Runs program in 4d mode, will ask for filename]
  96.  
  97. PlutHeadit Mail:Matrix/546.MSG
  98.  
  99.         [Load up 546.MSG from Matrix. (In 4d mode by default)]
  100.  
  101.  
  102.  
  103.                           ===================
  104.                           Compatible Software
  105.                           ===================
  106.  
  107.  
  108. PlutHeadit works with 2d and 4d FTS-1 messages.
  109.  
  110. It will NOT work with:
  111.  
  112. * Foozle messages, unless you have selected Confmail mode.
  113.  
  114. * Integrated packages using squish-type message bases
  115.   (eg Spot, April and PointManager).
  116.  
  117.  
  118. ------------------
  119. It WILL work with:
  120. ------------------
  121.  
  122. * Messages that you use GCC, Chameleon, RMB, Plutonic, etc to work with.
  123.  
  124. * It is particularly useful for anyone with TrapToss v1.50+, because
  125.   it supports the full 4d message storage available there.
  126.  
  127.  
  128.      ***********************************************
  129.      **                                           **
  130.      **  * StarNet/Paragon messages (in 2d mode)  **  <==  YEP!
  131.      **                                           **
  132.      ***********************************************
  133.  
  134.  
  135.  
  136. Any further question of compatibility should be directed to the author,
  137. with perhaps a sample message file or two uuencoded into a netmail
  138. message addressed to him.
  139.  
  140. IMPORTANT:  Under NO circumstances is the author liable to any damages
  141. from the use or misuse of this program.  Before you click on the save
  142. gadget, make SURE that PlutHeadit seems to have understood what the
  143. message actually was.  If the Destination and Origin node numbers seem
  144. okay, then it's a good sign.
  145.  
  146. If the Zone and Point field in the address fields look AWFULLY LARGE,
  147. chances are you are editing a 2d message only and you have PlutHeadit
  148. working in 4d mode.  Switch to 2d mode by using the relevant command
  149. line switch
  150.  
  151. But it's YOUR data, and you use this program at your own risk!  Backup
  152. the message first if it's important!
  153.  
  154.  
  155.                            =================
  156.                            Using the program
  157.                            =================
  158.  
  159.  
  160. Headit opens an 8 colour 640 * 200 screen and a window covering most of
  161. it.  It will attempt to load a message from a directory called
  162. "Mail:Matrix".  If you don't want this path, simply click in the path
  163. gadget of the file requester, and type your own, ending with a trailing
  164. slash or colon.  Beware of the GFA file requester:  a trailing slash or
  165. colon is mandatory!
  166.  
  167. Once the message has been selected from the file requester, it is read
  168. into the program, and displayed.  The top half of the window contains
  169. text gadgets for the various message fields.  Simply click in them to
  170. activate them.  You must press return to leave a field, even if it's
  171. unchanged.  Special parsing is in place in the program to correctly
  172. capitalise From and To names, and to ensure a valid address is entered.
  173.  
  174. To change any of the message's attributes, you can simply toggle them on
  175. and off in the lower half.  ALL attributes are available, but be aware
  176. that if you are editing an ECHOMAIL message, then most of them will NOT
  177. make much sense!  Only the LOCAL, SENT and RECEIVED attributes are
  178. generally used in echomail.  Netmail of course is different.  Be careful
  179. not to set contrary bits (eg CRASH and HOLD bits should never BOTH be
  180. set)!
  181.  
  182. If you select to toggle the File Attach bit, PlutHeadit will pull up a
  183. file requester allowing you to select a file to attach.  If you ever
  184. want to change this, just de-select and re-select the File Attach
  185. attribute again.
  186.  
  187. Note that any KLUDGE LINES already in the message will be unchanged.
  188. These might conflict with the header if you change the Zone or Point
  189. parts of the header.  PlutHeadit, remember, is only for the HEADER.  Use
  190. another editor for the body of the message!
  191.  
  192. Much of PlutHeadit is fairly well self explanatory, however!  Point and
  193. click and experiment!
  194.  
  195.  
  196.                               ============
  197.                               Distribution
  198.                               ============
  199.  
  200.  
  201. PlutHeadit is NOT in the Public Domain.  It may, however, be
  202. redistributed for no charge, or for a nominal charge that includes no
  203. profit factor.
  204.  
  205. The author's maximum liability to any person who suffers damage from the
  206. use, misuse, or inability to use this program will in no circumstances
  207. exceed the amount paid to the author by the user for the program.  (In
  208. this case nil).
  209.  
  210. The copyright of this program always remains with the author.
  211.  
  212. If you re-distribute the program, all files:  PlutHeadit, PlutHeadit.doc
  213. and PlutHeadit.LST must be included in the distribution.
  214.  
  215. The author can be contacted:
  216.  
  217. Peter Deane
  218.  
  219. FidoNet:   3:622/401        Postal: PO Box 228
  220. GlobalNet: 54:6101/401              Swansea  NSW  2281
  221. AmigaNet:  41:200/401               AUSTRALIA
  222.  
  223. BBS:    from O/S   +61-49-72-1647
  224. (24hrs) from Aust  (049) 72-1647
  225.  
  226.  
  227.  
  228.  
  229.                                 ========
  230.                                 Appendix
  231.                                 ========
  232.  
  233.  
  234. This extract, courtesy of FTS-1 shows the specifications of a message
  235. that PlutHeadit will edit.  Note that in 2-dimensional mode, the offsets
  236. from 176-182 decimal (marked with ** below) are NOT accesible and will
  237. NEVER be changed by this program.  If you have 4d storage available (eg
  238. TrapToss 1.50), these parts MAY be edited (they are part of the
  239. destination and origin node numbers).
  240.  
  241. Note that in PlutHeadit, the FromName, ToName and Subject ARE NOT the
  242. full 36 bytes and 72 bytes long - they wouldn't quite fit!  You may only
  243. edit the first so many bytes of each.  This will generally never be a
  244. problem.
  245.  
  246.  
  247.    1. Application Layer Data Definition : a Stored Message
  248.  
  249.                                Stored Message
  250.  
  251.        Offset
  252.       dec hex
  253.               .-----------------------------------------------.
  254.         0   0 |                                               |
  255.               ~                 fromUserName                  ~
  256.               |                   36 bytes                    |
  257.               +-----------------------+-----------------------+
  258.        36  24 |                                               |
  259.               ~                  toUserName                   ~
  260.               |                   36 bytes                    |
  261.               +-----------------------+-----------------------+
  262.        72  48 |                                               |
  263.               ~                    subject                    ~
  264.               |                   72  bytes                   |
  265.               +-----------------------+-----------------------+
  266.       144  90 |                                               |
  267.               ~                    dateTime                   ~
  268.               |                    20 bytes                   |
  269.               +-----------------------+-----------------------+
  270.       164  A4 | timesRead (low order) | timesRead (high order)|
  271.               +-----------------------+-----------------------+
  272.       166  A6 | destNode (low order)  | destNode (high order) |
  273.               +-----------------------+-----------------------+
  274.       168  A8 | origNode (low order)  | origNode (high order) |
  275.               +-----------------------+-----------------------+
  276.       170  AA |   cost (low order)    |   cost (high order)   |
  277.               +-----------------------+-----------------------+
  278.       172  AC | origNet (low order)   | origNet (high order)  |
  279.               +-----------------------+-----------------------+
  280.       174  AE | destNet (low order)   | destNet (high order)  |
  281.               +-----------------------+-----------------------+
  282. **    176  B0 | destZone (low order)  | destZone (high order) |
  283.               +-----------------------+-----------------------+
  284. **    178  B0 | origZone (low order)  | origZone (high order) |
  285.               +-----------------------+-----------------------+
  286. **    180  B0 | destPoint (low order) | destPoint (high order)|
  287.               +-----------------------+-----------------------+
  288. **    182  B0 | origPoint (low order) | origPoint (high order)|
  289.               +-----------------------+-----------------------+
  290.       184  B8 |  replyTo (low order)  |  replyTo (high order) |
  291.               +-----------------------+-----------------------+
  292.       186  BA | Attribute (low order) | Attribute (high order)|
  293.               +-----------------------+-----------------------+
  294.       188  BC | nextReply (low order) | nextReply (high order)|
  295.               +-----------------------+-----------------------+
  296.       190  BE |                      text                     |
  297.               ~                    unbounded                  ~
  298.               |                 null terminated               |
  299.               `-----------------------------------------------'
  300.  
  301.  
  302.       Message    = fromUserName(36)  (* Null terminated *)
  303.                    toUserName(36)    (* Null terminated *)
  304.                    subject(72)       (* see FileList below *)
  305.                    DateTime          (* message body was last edited *)
  306.                    timesRead
  307.                    destNode          (* of message *)
  308.                    origNode          (* of message *)
  309.                    cost              (* in lowest unit of originator's
  310.                                         currency *)
  311.                    origNet           (* of message *)
  312.                    destNet           (* of message *)
  313. **                 fill[8]
  314.                    replyTo           (* msg to which this replies *)
  315.                    AttributeWord
  316.                    nextReply         (* msg which replies to this *)
  317.                    text(unbounded)   (* Null terminated *)
  318.  
  319.  
  320.       DateTime   = (* a character string 20 characters long *)
  321.                                      (* 01 Jan 86  02:34:56 *)
  322.                    DayOfMonth " " Month " " Year " "
  323.                    " " HH ":" MM ":" SS
  324.                    Null
  325.  
  326.       DayOfMonth = "01" | "02" | "03" | ... | "31"   (* Fido 0 fills *)
  327.       Month      = "Jan" | "Feb" | "Mar" | "Apr" | "May" | "Jun" |
  328.                    "Jul" | "Aug" | "Sep" | "Oct" | "Nov" | "Dec"
  329.       Year       = "01" | "02" | .. | "85" | "86" | ... | "99" | "00"
  330.       HH         = "00" | .. | "23"
  331.       MM         = "00" | .. | "59"
  332.       SS         = "00" | .. | "59"
  333.  
  334.  
  335.       AttributeWord   bit       meaning
  336.                       ---       --------------------
  337.                         0  +    Private
  338.                         1  + s  Crash
  339.                         2       Recd
  340.                         3       Sent
  341.                         4  +    FileAttached
  342.                         5       InTransit
  343.                         6       Orphan
  344.                         7       KillSent
  345.                         8       Local
  346.                         9    s  HoldForPickup
  347.                        10  +    unused
  348.                        11    s  FileRequest
  349.                        12  + s  ReturnReceiptRequest
  350.                        13  + s  IsReturnReceipt
  351.                        14  + s  AuditRequest
  352.                        15    s  FileUpdateReq
  353.  
  354.                              s - this bit is supported by SEAdog only
  355.                            + - this bit is not zeroed before packeting
  356.  
  357.  
  358.